#pragma once

#include <opencv2/opencv.hpp>
#include <vector>

// 全局变量声明
extern int lowThreshold;
extern int ratio1;
extern int kernel_size;
extern int idx;
extern int highThreshold;
extern cv::Mat src_gray;
extern cv::Mat dst;
extern cv::Mat detected_edges;
extern cv::Mat temp;

// 函数声明
cv::Mat Binarization(cv::Mat src);
std::vector<cv::Point> CutPoly(cv::Mat& src, cv::Mat& dst);
cv::Mat DetectEdge(cv::Mat& src);
void ErodeAndDilate(cv::Mat& src, cv::Mat& dst);
cv::Mat PerspectTrans(cv::Mat src, std::vector<cv::Point> points);
std::vector<cv::Mat> QRcode(std::vector<cv::Mat>& src);
void qrlocation(void); 